#ifndef REG_CODE_GENERATOR__H
#define REG_CODE_GENERATOR__H


#include <DefineLibReflection.h>
#include <memory>

#include <CppInfo.h>
#include <DefineCommon.h>

//
class RegCodeGenerator;
typedef std::shared_ptr<RegCodeGenerator> RegCodeGeneratorPtr;
class REFLECTION_DLL RegCodeGenerator 
{
public:
    RegCodeGenerator();
    ~RegCodeGenerator();

    virtual void wrapClssListToFiles(EStringList classList, const EString& dirName);

    virtual void genRegFun_h(EStringList classList, EString& content);
    virtual void genRegFun_cpp(EStringList classList, EString& content);

};



#endif // REG_CODE_GENERATOR__H
